Tor Directory Protocol
Torのノードに関するデータや、その通信のこと。Torでは、全ノードの一覧やonionドメインを管理するためにTor Directory (Tor Directory Protocol)というものが存在する。 ディレクトリと名がついているがファイルシステムとは関係なく、アクティブディレクトリなどと同じように「任意のリソースの属性を記述する」という意味でディレクトリと読んでいる。簡単に言えば高機能なキーバリューストア。
Descriptor
Tor Directoryという単一のデータ構造があるわけではなく、実態としては6種類に分かれている。これら一つ一つをデスクリプタと呼ぶ。
Server Descriptor: Torの各リレーの情報の一覧をもつ。リレーのフィンガープリント、ニックネームやtorバージョン、listenしているポート、exit policyなどがある。現在は廃止とされておりmicrodescriptorsを使うよう推奨されている。 Microdescriptor: Torクライアントが動作するために必要な最低限の情報が入っている
Network Status Document
Router Status Entry
Hidden Service Descriptor: Hidden Service(onionドメイン)に関する情報が入っている
Directory Authority
ディレクトリのデータのコピーは全ノードが持っているが、一部のデスクリプタの管理(編集)を行えるのはTorプロジェクトが認定した10つのノードだけである。分散システムであるTorの唯一の中央集権的な部分と言える。これらはDirectory Authority(ディレクトリの権威?)と呼ばれる。
Torクライアントは起動時にTor Directoryから3つのノード(入口、中継、出口ノード)を選んでOnion Routingを構成するため、このDAに手が加えられると意図的にごく少数のノードしか使うことができないといった攻撃が考えられる。
これを防ぐためにDAは投票を行い、過半数以上の賛成がないとディレクトリを更新しない。
もプロジェクト管理下とはいえ警察や国家機関にDAを差し押さえられる・乗っ取られる可能性はあるため、こうした仕組みをとっている。
参考: